home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
f90
/
popcnt.z
/
popcnt
Wrap
Text File
|
1998-10-30
|
3KB
|
81 lines
POPCNT(3I) Last changed: 1-6-98
NNAAMMEE
__ppooppccnntt, PPOOPPCCNNTT - Counts number of set bits
SSYYNNOOPPSSIISS
C/C++:
##iinncclluuddee <<iinnttrriinnssiiccss..hh>>
iinntt __ppooppccnntt ((lloonngg _i));;
Fortran:
PPOOPPCCNNTT (([II==]_i))
IIMMPPLLEEMMEENNTTAATTIIOONN
C/C++: UNICOS and UNICOS/mk systems
Fortran: UNICOS, UNICOS/mk, and IRIX systems
SSTTAANNDDAARRDDSS
C/C++: Cray Research extension
Fortran: CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran
90
CC//CC++++ DDEESSCCRRIIPPTTIIOONN
The __ppooppccnntt function returns the number of bits set to 1 (the
population count) in argument _i.
FFOORRTTRRAANN DDEESSCCRRIIPPTTIIOONN
This intrinsic function counts the number of bits set in the argument.
It accepts the following argument:
_i A Boolean, integer, real, or Cray pointer value. On IRIX
systems, _i cannot be declared as RREEAALL((KKIINNDD==1166)).
PPOOPPCCNNTT is an elemental function. The name of this intrinsic cannot be
passed as an argument.
CC//CC++++ NNOOTTEESS
Because __ppooppccnntt is an intrinsic function, no externally visible
library function is available for it. The compiler generates inline
code to produce the result.
FFOORRTTRRAANN NNOOTTEESS
The bit representation of the logical data type is not consistent
among Cray Research systems. For further details, see your compiler's
reference manuals.
FFOORRTTRRAANN RREETTUURRNN VVAALLUUEESS
PPOOPPCCNNTT returns a value of type integer.
EEXXAAMMPPLLEESS
Fortran: The following section of Fortran code shows the PPOOPPCCNNTT
function used with an argument of type integer. The bit pattern of
the argument and the value of the result are also given. For
simplicity, a 16-bit object is used.
INTEGER I1, I2
...
I2 = POPCNT(I1)
---------------------------------------------------------------
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 |
---------------------------------------------------------------
I1
The PPOOPPCCNNTT function returns the value 6 to the integer variable II22.
SSEEEE AALLSSOO
A complete list of C/C++ intrinsic functions available on Cray
Research systems is in the _C_r_a_y _C/_C++ _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR
-2179.
_I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for the
printed version of this man page.